/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package classPack;

import java.util.Objects;

/**
 *
 * @author Eu
 */
public class Usuario extends Classes {

    private String nome, ipUsuario;
    private boolean online, bloqueado, aceito;

    public Usuario(String nome, String ipUsuario) {
        setNome(nome);
        setIpUsuario(ipUsuario);
        aceito = false;
        bloqueado = false;
    }

    public String getNome() {
        return nome;
    }

    public final void setNome(String nome) {
        if (nome != null && !nome.equals("")) {
            this.nome = nome;
        }
    }

    public String getIpUsuario() {
        return ipUsuario;
    }

    public final void setIpUsuario(String ipUsuario) {
        if (ipUsuario != null && !ipUsuario.equals("")) {
            this.ipUsuario = ipUsuario;
        }
    }

    public boolean isOnline() {
        return online;
    }

    public void setOnline(boolean online) {
        this.online = online;
    }

    public void toggleOnline() {
        setOnline(!online);
    }

    public boolean isBloqueado() {
        return bloqueado;
    }

    public void setBloqueado(boolean bloqueado) {
        this.bloqueado = bloqueado;
    }

    public void toggleBloqueado() {
        setBloqueado(!bloqueado);
    }

    public boolean isAceito() {
        return aceito;
    }

    public void setAceito(boolean aceito) {
        this.aceito = aceito;
    }

    @Override
    public String toString() {
        return getNome();
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 79 * hash + Objects.hashCode(this.ipUsuario);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Usuario other = (Usuario) obj;
        if (!Objects.equals(this.ipUsuario, other.ipUsuario)) {
            return false;
        }
        return true;
    }
}
